package org.budo.cmbc.sdk.impl;

import java.nio.charset.Charset;

import org.budo.cmbc.sdk.CmbcSdk;

import lombok.Getter;
import lombok.Setter;

/**
 * @author lmw
 */
@Getter
@Setter
public abstract class AbstractCmbcSdk implements CmbcSdk {
    public static final Charset GB2312 = Charset.forName("GB2312");

    public static final String DATE_FORMAT = "yyyy-MM-dd";

    private String url;

    private String proxyHost;
    private Integer proxyPort;

    private String clientId;
    private String userId;
    private String userPswd;

    private String language = "chs";
    private String encoding = "UTF-8";
    private String appId = "nsbdes";
    private String appVer = "201";

    private String acntNo;

    @Override
    public void qryXfer() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void batchXfer() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void topXfer() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void CostReimbGroup() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void qryFixAcct() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void qryEnsuAcct() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void qryAcctList() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void EnXfer() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void queryRegularList() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void regularD2B() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void QueryRegularB2D() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void DepositNotice() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void QueryNotice() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void xjAcctAmt() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void zdShanghai() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void zdShenzhen() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void Epay() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void EntFlowQryB2e() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void EntNoticeQryB2e() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void InterestSettlementQryB2e() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void depositAccountDetail() {
        throw new UnsupportedOperationException();
    }

    @Override
    public String toString() {
        return super.toString() //
                + ", url=" + this.getUrl() //
                + ", proxyHost=" + this.getProxyHost() //
                + ", proxyPort=" + this.getProxyPort() //
                + ", clientId=" + this.getClientId() //
                + ", userId=" + this.getUserId() //
                + ", acntNo=" + this.getAcntNo();
    }
}
